package com.wcs.exam.common.server.upload;

import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;

/**
 * 上传接口
 *
 * @author wcs
 */
@Data
@Accessors(chain = true)
public class Upload implements Serializable {

    @Serial
    private static final long serialVersionUID = 1195869049655301491L;


    /**
     * 存储平台，参考：StoragePlatformEnum
     */
    private Integer storagePlatform;

    /**
     * MinIO
     */
    private String minioEndpoint;
    private String minioAccessKey;
    private String minioSecretKey;
    private String minioDomain;
    private String minioBucket;
    private String minioPreviewUrl;

    /**
     * aliyunOSS
     */
    private String aliyunOssEndpoint;
    private String aliyunAccessKeyId;
    private String aliyunAccessKeySecret;
    private String aliyunOssUrl;
    private String aliyunOssBucket;

    /**
     * 腾讯云
     */
    private String tencentCosSecretId;
    private String tencentCosSecretKey;
    private String tencentCosUrl;
    private String tencentCosRegion;
    private String tencentCosBucket;

    /**
     * 华为云
     */
    private String huaWeiObsEndpoint;
    private String huaWeiObsAccessKey;
    private String huaWeiObsSecretKey;
    private String huaWeiObsLocation;
    private String huaWeiObsBucket;
    private String huaWeiObsUrl;
    private String huaWeiObsPreviewUrl;

    /**
     * 七牛云
     */
    // 节点地址参考：https://developer.qiniu.com/kodo/4088/s3-access-domainname
    private String kodoEndpoint;
    private String kodoAccessKey;
    private String kodoSecretKey;
    private String kodoDomain;
    private String kodoBucket;
    private String kodoPreviewUrl;
}
